1. Field of the Invention
The invention relates to a digital filter based system which digitally filters a signal to be processed.
2. Description of the Prior Art
In certain applications of digital filters such as in electronic musical instruments, it is desired to dynamically control or change filter characteristics. For example, the cutoff frequency is a filter factor indicative of a boundary frequency between the filter pass band and the transition band. A tone quality and/or timber can be varied by changing the cutoff frequency. Though possible, to directly compute respective coefficients in the digital filter transfer function (filter coefficients) from a given cutoff frequency requires a considerable amount of time because such computation involves calculating complicated functions such as trigonometric functions. The direct computation imposes too much of a burden on a system control unit such as a CPU which must handle other processes.
In this view, it has been proposed to provide a coefficient memory (look-up table) which stores filter coefficients for various values of the cutoff frequency. When a desired cutoff frequency is given, it is converted to corresponding filter coefficients by accessing the coefficient memory using the given frequency. However, to store filter coefficients for all possible values of the cutoff frequency, a very large look-up table is required.
In some digital filter systems, a desired value of the cutoff frequency can be changed. In response to such change, if operative filter coefficients used in a digital filter circuit are changed instantly from those coefficient values at the cutoff frequency before the change to those coefficients at the cutoff frequency after the change, then noise occurs, giving rise to a serious problem in the sound generating application.
To avoid this, it was proposed to provide an interpolator which inserts a succession of interpolated filter coefficients between the coefficient values at the cutoff frequencies before and after the change, as disclosed in Japanese Patent Publication Kokoku Sho63-36577. The disclosed system successively adds or subtracts a predetermined value to and from current filter coefficients (initially set to those coefficients at the cutoff frequency before the change) to develop an interpolated coefficient succession until the coefficients at the cutoff frequency after the change are reached. The interpolated filter coefficients produced by this system, however, contain errors or deviations from desired or ideal filter coefficient values. In particular, for a larger difference between the cutoff frequencies before and after the change, the errors are greatly increased, transiently producing a tone with a resonating component which sounds unnatural to the user.
Electronic musical instruments typically employ a polyphonic tone generator having a plurality of voice channels capable of producing a plurality of tones at the same time. Similarly, digital filters are often configured to process a plurality of signals using time-division multiplexing (TDM). Such a multiplexing technique is often applied to the interpolator discussed above.
A TDM-based interpolator requires a large number of parameters for interpolation. The number of the required parameters, which include goal values of the filter coefficients determining the cutoff frequency after the change and differential values, is three times the number of filter coefficients. Thus, it takes a considerable amount of time for an external parameter updating device, typically implemented by a CPU of a microcomputer to transfer a new set of parameters to the interpolator. Moreover, the CPU operates asynchronously with the interpolator, bringing forth another problem as to when the interpolator uses the new set of parameters for the interpolation.
Unfortunately, the prior art interpolator automatically accesses an internal parameter memory the contents of which are externally updated, without knowing when the updating occurs. This produces timing errors among the plurality of interpolated data items. In particular, in digital filters using filter coefficients having a high sensitivity, filter characteristics tend to deviate from the desird characteristics because of such timing errors or sampling skews, thus resulting in an unnatural sound.
In summary, in the prior art, interpolating operations, which should start simultaneously for a new set of parameters, actually start at different times from one coefficient to another.